package com.zzyl.nursing.service;

import java.util.List;
import com.zzyl.nursing.domain.CateringFeedback;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zzyl.common.core.domain.AjaxResult;
import org.springframework.web.multipart.MultipartFile;

/**
 * 用餐反馈Service接口
 * 
 * @author alexis
 * @date 2024-12-30
 */
public interface ICateringFeedbackService extends IService<CateringFeedback>
{
    /**
     * 查询用餐反馈
     * 
     * @param id 用餐反馈主键
     * @return 用餐反馈
     */
    public CateringFeedback selectCateringFeedbackById(Long id);

    /**
     * 查询用餐反馈列表
     * 
     * @param cateringFeedback 用餐反馈
     * @return 用餐反馈集合
     */
    public List<CateringFeedback> selectCateringFeedbackList(CateringFeedback cateringFeedback);

    /**
     * 新增用餐反馈
     * 
     * @param cateringFeedback 用餐反馈
     * @return 结果
     */
    public int insertCateringFeedback(CateringFeedback cateringFeedback);

    /**
     * 修改用餐反馈
     * 
     * @param cateringFeedback 用餐反馈
     * @return 结果
     */
    public int updateCateringFeedback(CateringFeedback cateringFeedback);

    /**
     * 批量删除用餐反馈
     * 
     * @param ids 需要删除的用餐反馈主键集合
     * @return 结果
     */
    public int deleteCateringFeedbackByIds(Long[] ids);

    /**
     * 删除用餐反馈信息
     * 
     * @param id 用餐反馈主键
     * @return 结果
     */
    public int deleteCateringFeedbackById(Long id);

    /**
     * 回复用餐反馈
     * 
     * @param cateringFeedback 用餐反馈
     * @return 结果
     */
    public int replyCateringFeedback(CateringFeedback cateringFeedback);

    /**
     * 根据老人ID查询反馈列表
     * 
     * @param elderlyId 老人ID
     * @return 用餐反馈集合
     */
    public List<CateringFeedback> selectFeedbackByElderId(Long elderlyId);

    /**
     * 根据处理状态查询反馈列表
     * 
     * @param status 处理状态
     * @return 用餐反馈集合
     */
    public List<CateringFeedback> selectFeedbackByStatus(Integer status);

    /**
     * 上传反馈图片
     * 
     * @param file 图片文件
     * @return 上传结果
     */
    public AjaxResult uploadFeedbackImage(MultipartFile file);

    /**
     * 处理图片URL，拼接阿里云OSS域名
     * 
     * @param imagePath 图片路径
     * @return 完整的图片URL
     */
    public String processImageUrl(String imagePath);
} 